package chat.managers;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;

import com.xkh.xkh.R;

import chat.activities.IMActivity;
import emergency.activity.EmergencyShow;

/**
 * 通知
 * Created by Administrator on 2016/1/20.
 */
public class MyNotification {

    // 普通单人消息
    public static int FLAG_SINGLEMESSAGE = 1000;

    // 群组消息
    public static int FLAG_GROUPMESSAGE = 2000;

    // 系统消息
    public static int FLAG_SYSTEM = 3;

    // 预警消息
    public static int FLAG_EMEGENCY = 4;

    // 通知
    public static void notifymy(Context context, int notificationFlag, String title, String content, int num) {
        NotificationManager manager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        PendingIntent pendingIntent2 = PendingIntent.getActivity(context, 0,
                new Intent(context, IMActivity.class), 0);
        int iconId = R.drawable.desk;
        if (notificationFlag == FLAG_SINGLEMESSAGE)
        {
            iconId = R.drawable.avar_notification;
        }
        else if (notificationFlag == FLAG_GROUPMESSAGE)
        {
            iconId = R.drawable.group_avar_default_notification;
        }

        else if (notificationFlag == FLAG_EMEGENCY)
        {
            iconId = R.drawable.emergencydeal_hdp;
            pendingIntent2 = PendingIntent.getActivity(context, 0,
                    new Intent(context, EmergencyShow.class), 0);
        }
        // API11之后才支持
        Notification notify2 = new Notification.Builder(context)
                .setSmallIcon(iconId) // 设置状态栏中的小图片，尺寸一般建议在24×24，这个图片同样也是在下拉状态栏中所显示，如果在那里需要更换更大的图片，可以使用setLargeIcon(Bitmap
                        // icon)
                .setTicker("")// 设置在status
                        // bar上显示的提示文字
                .setContentTitle(title)// 设置在下拉status
                        // bar后Activity，本例子中的Notififysmiley_0的TextView中显示的标题
                .setContentText(content)// TextView中显示的详细内容
                .setContentIntent(pendingIntent2) // 关联PendingIntent
                .setNumber(num) // 在TextView的右方显示的数字，可放大图片看，在最右侧。这个number同时也起到一个序列号的左右，如果多个触发多个通知（同一ID），可以指定显示哪一个。
                .getNotification(); // 需要注意build()是在API level

        // 16及之后增加的，在API11中可以使用getNotificatin()来代替
        notify2.flags |= Notification.FLAG_AUTO_CANCEL;
        manager.notify(notificationFlag, notify2);
    }
}
